<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\User;
use Hash;
use DB;
use App\Http\Model\Role;

class UserController extends Controller
{
    /**
     * @author  何欢
     * @time    2017年8月27日 22:53:17     
     * @return  用户列表页
     */
    public function index(Request $request)
    {
        //用户列表页
        $count = $request -> input('count',5);
        $search = $request -> input('search','');
        $request = $request -> all();
        $user = new User;
        $roles = Role::all();
        // 查询数据并分页
        $data = $user->where('username','like','%'.$search.'%')->paginate($count);
        foreach ($data as $key => $value) {
            $uid = $user->find($value['id']);
            $role = $uid -> roles() -> first();
            $data[$key]['status']=$role['name'];
        }
        // 加载模版
        return view('admin.user.index',['data'=>$data,'request'=>$request]);
    }

    /**
     * @author  何欢
     * @time    2017年8月27日 22:53:17     
     * @return  用户添加
     */
    public function create()
    {
        //用户添加页
        return view('admin.user.create');
    }

    /**
     * @author 何欢
     *
     * @param  Request  $request
     * @return 成功:用户列表页    失败:当前页
     */
    public function store(Request $request)
    {
        //
        $user = new User;
        $user -> username = $request['username'];
        $user -> password = Hash::make($request['password']);
        $res = $user -> save();
        if ($res) {
            return redirect('/admin/user');
        }else{
            return back();
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * 后台用户修改页面
     *
     * @param  int  $id
     * @return 后台修改页面
     */
    public function edit($id)
    {   
        $user = new User;
        $data = $user->find($id);
        $role = $data -> roles() -> first();
        $roles = Role::all();
        //后台修改页面
        return view('/admin/user/edit',compact('data','role','roles'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
        DB::table('sad_role_user')->where('uid', $id)->delete();
       $res =  DB::table('sad_role_user')->insert(
            ['uid' => $request->uid, 'rid' => $request->rid]
        );    

        //      4 如果正确跳转到后台首页 ，如果不正确返回
        return redirect('/admin/user');
    }

    /**
     * 用户删除
     * @author 何欢
     * @param  int  $id
     * @return 后台用户列表页
     */
    public function destroy($id)
    {
        $user = User::find($id);
        $res = $user -> delete();
        if($res){
            return back()->with('errors','删除成功');
        }
    }

     /**
     * 检测用户是否存在
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function verification(Request $request)
    {
        //
        $res = DB::table('sad_admin_user')->where('username',$request['username'])->first();
        if($res){
            echo 1;
        }else{
            echo 0;
        }
    }
    
}
